﻿using System.Collections.Generic;
using System.Windows;
using System.Windows.Media;
using System.ComponentModel;

namespace Might.Infrastructure.Annotations.Graphics {
    /// <summary>
    /// Interface for Icon Editor. Represents line.
    /// </summary>
    public interface IGraphicsLine {
        /// <summary>
        /// Gets or sets stroke color of primitive.
        /// </summary>
        [Category("Brushes")]
        Brush Stroke { get; set; }

        /// <summary>
        /// Gets or sets the width of stroke.
        /// </summary>
        [Category("Appearance")]
        double Thickness { get; set; }

        /// <summary>
        /// Gets or sets the array of points.
        /// </summary>
        List<Point> Points { get; }

        /// <summary>
        /// Gets or sets the smooth parameter.
        /// </summary>
        [Category("Appearance")]
        bool Smooth { get; set; }

        /// <summary>
        /// Gets or sets the starting cap.
        /// </summary>
        [Category("Appearance")]
        PenLineCap StartCap { get; set; }

        /// <summary>
        /// Gets or sets the ending cap.
        /// </summary>
        [Category("Appearance")]
        PenLineCap EndCap { get; set; }
    }
}